home *** CD-ROM | disk | FTP | other *** search
/ SGI Varsity Update 1998 August / SGI Varsity Update 1998 August.iso / dist / ftn90_fe.idb / usr / relnotes / ftn90_fe / ch5.z / ch5
Text File  |  1998-07-29  |  23KB  |  726 lines

  1.  
  2.  
  3.  
  4.                                                - 1 -
  5.  
  6.  
  7.  
  8.                     7.2.1 MIPSpro Fortran 90 Front End Release Notes
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.                                                - 2 -
  69.  
  70.  
  71.  
  72.                     5.  _N_e_w__F_e_a_t_u_r_e_s__o_f__T_h_i_s__R_e_l_e_a_s_e
  73.  
  74.  
  75.                     This chapter contains the differences between
  76.                     this release and the 7.2 release of the MIPSpro
  77.                     Fortran 90 compiler.  It also summarizes the
  78.                     differences between the 7.2 release and the 7.1
  79.                     release of MIPSpro Fortran 90.
  80.  
  81.  
  82.                     5.1  _N_e_w__F_e_a_t_u_r_e_s__i_n__M_I_P_S_p_r_o__7_._2_._1
  83.  
  84.  
  85.  
  86.                     5.1.1  _O_p_e_n_M_P__S_u_p_p_o_r_t   MIPSpro Fortran 90 7.2.1
  87.                     now supports the OpenMP application programming
  88.                     interface (API) when used in conjunction with
  89.                     the -_m_p flag.  The -_m_p flag enables the
  90.                     processing of the parallel (MP) directives,
  91.                     including the original SGI/PCF directives as
  92.                     well as the OpenMP directives.  To selectively
  93.                     disable one or the other set of directives, add
  94.                     the following -MP option group flag to the -_m_p
  95.                     flag:
  96.  
  97.                     -MP:old_mp=off
  98.                         disable processing of the original SGI/PCF
  99.                         directives, but retain the processing of
  100.                         OpenMP directives.
  101.  
  102.                     -MP:open_mp=off
  103.                         disable processing of the OpenMP directives,
  104.                         but retain processing of the original
  105.                         SGI/PCF directives.
  106.  
  107.  
  108.                     You must have libmp from patchSG0002773
  109.                     installed if you plan to work with OpenMP
  110.                     support.
  111.  
  112.                     For more information about OpenMP support in
  113.                     MIPSpro Fortran 90, please refer to the MIPSPro
  114.                     7 Fortran 90 Commands and Directives Reference
  115.                     Manual.  For general information about OpenMP
  116.                     please refer to the following web page:
  117.  
  118.                     http://www.openmp.org/
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.                                                - 3 -
  135.  
  136.  
  137.  
  138.                     5.1.2  _I_G_N_O_R_E___T_Y_P_E___A_N_D___K_I_N_D__D_i_r_e_c_t_i_v_e
  139.  
  140.                     The directive causes the compiler to ignore type
  141.                     and kind of the specified dummy argument when
  142.                     resolving a generic interface name to a specific
  143.                     procedure. The syntax for the directive is given
  144.                     below. The compiler also ignores type and kind
  145.                     on the specified dummy argument[s] when checking
  146.                     all the specific interfaces in a generic
  147.                     interface for ambiguous interfaces.  Use of this
  148.                     directive allows different invocations of a
  149.                     procedure to pass different actual argument
  150.                     types to the same dummy argument. Use of this
  151.                     directive effectively turns off the strong type
  152.                     checking for the specified dummy argument(s)
  153.                     when resolving interfaces.  This is useful when
  154.                     a single routine (a copy routine for example) is
  155.                     used with different argument types.
  156.  
  157.                     !DIR$ IGNORE_TYPE_AND_KIND [darg_name[,darg_name]]
  158.  
  159.                     If nothing is specified following the directive,
  160.                     the directive applies to all dummy arguments
  161.                     specified in the procedure.  Otherwise, the
  162.                     directive applies just to the specified dummy
  163.                     arguments.
  164.  
  165.  
  166.  
  167.                     5.1.3  -_a_u_t_o__u_s_e _m_o_d_u_l_e__n_a_m_e[,_m_o_d_u_l_e__n_a_m_e]
  168.                     _c_o_m_m_a_n_d_l_i_n_e _o_p_t_i_o_n
  169.  
  170.                     When the user specifies this on the commandline,
  171.                     it is the same as if the user specified USE
  172.                     module_name in every program unit, module
  173.                     procedure, internal procedure and interface body
  174.                     in the file(s) being compiled.  This is useful
  175.                     when an application contains hundreds of
  176.                     routines and interface bodies and a programmer
  177.                     wishes to include the same module in each
  178.                     procedure and interface body.  For example, a
  179.                     module may be written to provide explicit
  180.                     interfaces for a library used by the
  181.                     application.  In order to enable compile time
  182.                     interface checking at each call to the library,
  183.                     each procedure and interface body must have a
  184.                     USE module_name inserted in it.  This directive
  185.                     allows for a module to be implicitly used in all
  186.                     program units and interface bodies compiled
  187.                     without requiring source modification.
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.                                                - 4 -
  201.  
  202.  
  203.  
  204.                     Note: Use of this option may significantly
  205.                           increase compile time.
  206.  
  207.  
  208.  
  209.                     5.1.4  _A_d_d_i_t_i_o_n_a_l__I_n_t_r_i_n_s_i_c__E_x_t_e_n_s_i_o_n_s
  210.  
  211.                     Provided in this release are the following
  212.                     intrinsic extensions:  SIND, TAND, COSD, ATAND,
  213.                     ATAN2D, ACOSD, ASIND. They use and return degree
  214.                     values rather than radians.
  215.  
  216.  
  217.                     5.2  _M_I_P_S_p_r_o _7._2._1 _F_o_r_t_r_a_n _a_n_d _F_F_I_O _L_I_B_R_A_R_Y
  218.                          _F_e_a_t_u_r_e_s
  219.  
  220.  
  221.  
  222.                     5.2.1  _E_x_p_l_i_c_i_t _M_I_P_S-_t_o-_C_R_A_Y _a_n_d _C_R_A_Y-_t_o-_M_I_P_S
  223.                     _c_o_n_v_e_r_s_i_o_n _r_o_u_t_i_n_e_s   Provided in this release
  224.                     are interfaces for converting Cray floating
  225.                     point data to and from MIPS IEEE data. Two
  226.                     interfaces are provided:
  227.  
  228.                        +o A subroutine interface which Fortran 90 and
  229.                          C users can call explicitly
  230.  
  231.                        +o An assign -N cray interface which allows
  232.                          IRIX Fortran 90 users to access Cray
  233.                          floating files implicitly (without changing
  234.                          their program).
  235.                     See the intro_conversion manpage for more
  236.                     information.
  237.  
  238.  
  239.                     5.2.2  _G_l_o_b_a_l__F_F_I_O__L_a_y_e_r   These routines have
  240.                     been ported directly from the T3E platform.  See
  241.                     the intro_ffio manpage for more information.
  242.  
  243.  
  244.                     5.2.3  _A_d_d_i_t_i_o_n_a_l__P_O_S_I_X_._9__i_n_t_e_r_f_a_c_e__r_o_u_t_i_n_e
  245.                     These are Fortran 90 subroutine interfaces to
  246.                     signal handling system calls on all IRIX
  247.                     platforms. They include:
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.                                                - 5 -
  267.  
  268.  
  269.  
  270.                          IPXFWIFEXITSTATUS
  271.                          IPXFWTERMSIG
  272.                          IPXFWSTOPSIG
  273.                          PXFALARM
  274.                          PXFCALLSUBHANDLE
  275.                          PXFGETSUBHANDLE
  276.                          PXFKILL
  277.                          PXFSIGACTION
  278.                          PXFSIGADDSET
  279.                          PXFSIGDELSET
  280.                          PXFSIGEMPTYSET
  281.                          PXFSIGFILLSET
  282.                          PXFSIGISMEMBER
  283.                          PXFSIGPENDING
  284.                          PXFSIGSUSPEND
  285.                          PXFSLEEP
  286.                          PXFWIFEXITED
  287.                          PXFWIFSIGNALED
  288.                          PXFWIFSTOPPED
  289.  
  290.  
  291.                     See the intro_pxf manpage for more information.
  292.  
  293.  
  294.  
  295.  
  296.                     5.3  _N_e_w__F_e_a_t_u_r_e_s__i_n__M_I_P_S_p_r_o__7_._2
  297.  
  298.  
  299.  
  300.                     5.3.1  _N_e_w__C_o_m_p_i_l_e_r__F_r_o_n_t_-_e_n_d   MIPSpro 7.2
  301.                     Fortran 90 uses version 3.0 of the Cray
  302.                     Fortran90 compiler front-end.  It is source
  303.                     compatible with the Cray Fortran90 compiler,
  304.                     with minor exceptions noted below. MIPSpro 7.2
  305.                     Fortran 90 now supports Cray Pointers and Cray's
  306.                     Flexible File I/O.
  307.  
  308.  
  309.                     5.3.1.1  _C_r_a_y__T_a_s_k_i_n_g__D_i_r_e_c_t_i_v_e_s   MIPSpro 7.2
  310.                     Fortran 90 supports many of the CMIC$ directives
  311.                     found in Cray Fortran 90 including: !MIC$
  312.                     NUMCPUS, !MIC$CNCALL, !MIC$ PARALLEL, !MIC$ DO
  313.                     PARALLEL, !MIC$ ENDDO, !MIC$ DO ALL, !MIC$
  314.                     GUARD, !MIC$ END GUARD, along with these
  315.                     parameters: SHARED,PRIVATE, IF, MAXCPUS,
  316.                     CHUNKSIZE, GUIDED, and SAVELAST.
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.                                                - 6 -
  333.  
  334.  
  335.  
  336.                     5.3.1.2  _!_D_I_R__d_i_r_e_c_t_i_v_e_s_.   MIPSPro 7.2 Fortran
  337.                     90 also supports these CDIR$ directives from
  338.                     Cray Fortran90: !DIR$ BOUNDS, !DIR$ NOBOUNDS,
  339.                     !DIR$ FREE, !DIR$ FIXED !DIR$ ID, !DIR$ IVDEP,
  340.                     !DIR$ NAME.
  341.  
  342.                     The !DIR$TASK and !DIR$NOTASK directives can be
  343.                     used to control automatic parallelization using
  344.                     -pfa. The TASK and NOTASK directives are ignored
  345.                     unless the -cray_mp switch is specified to
  346.                     enable Cray-style tasking directives.
  347.  
  348.  
  349.  
  350.                     5.3.2  _N_e_w__C_o_m_p_i_l_e_r__B_a_c_k_-_e_n_d   MIPSpro 7.2
  351.                     Fortran 90 uses the same optimizing back-end as
  352.                     the other MIPSpro 7.2 compilers.  As such it now
  353.                     supports the newer command-line options for
  354.                     controlling optimizations (-OPT, -LNO, -IPA,
  355.                     etc.) See the f90(1) and ipa(5) man pages for
  356.                     more information about these options.
  357.  
  358.  
  359.                     5.3.2.1  _L_o_o_p__N_e_s_t__O_p_t_i_m_i_z_e_r   MIPSpro Fortran
  360.                     90 7.2 introduces a new flag group (-LNO: ...)
  361.                     that controls optimization of loops. This flag
  362.                     replaces the -sopt ...  flags that performed
  363.                     similar functionality in the 7.1 compiler. LNO
  364.                     performs loop fission, loop fusion, cache
  365.                     blocking, loop unrolling and other
  366.                     optimizations.  For an overview of this
  367.                     functionality, please refer to the MIPSpro
  368.                     Compiling, Debugging and Performance Tuning
  369.                     Guide and f90(1) man pages.
  370.  
  371.  
  372.                     5.3.2.2  _N_e_wSymbol   Two new directives have
  373.                     been added in MIPSpro 7.2 to control the way
  374.                     symbols (i.e. variables that may be a Fortran
  375.                     COMMON, or an automatic variable, but not a
  376.                     formal and not an element of a structured type
  377.                     like a struct or an array). are stored:
  378.                     ALIGN_SYMBOL and FILL_SYMBOL. Their syntax is as
  379.                     follows:
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.                                                - 7 -
  399.  
  400.  
  401.  
  402.                     C*$*    ALIGN_SYMBOL (symbol, L1cacheline)
  403.                     C*$*    ALIGN_SYMBOL (symbol, L2cacheline)
  404.                     C*$*    ALIGN_SYMBOL (symbol, page)
  405.                     C*$*    ALIGN_SYMBOL (symbol, <user-specified-power-of-two>)
  406.                     C*$*    FILL_SYMBOL (symbol, L1cacheline)
  407.                     C*$*    FILL_SYMBOL (symbol, L2cacheline)
  408.                     C*$*    FILL_SYMBOL (symbol, page)
  409.                     C*$*    FILL_SYMBOL (symbol, <user-specified-power-of-two>)
  410.  
  411.                     The ALIGN_SYMBOL directive aligns the start of
  412.                     <symbol> at a specified alignment boundary. The
  413.                     second argument in the directive may be one of
  414.                     the keywords L1cacheline (machine specific
  415.                     first-level cache line size, typically 32
  416.                     bytes), L2cacheline (machine specific second-
  417.                     level cache line size, typically 128 bytes),
  418.                     page (machine specific page size, typically 16
  419.                     Kbytes), or a user-specified power-of-two value.
  420.  
  421.                     The FILL_SYMBOL directive pads <symbol> with
  422.                     additional storage so that the symbol is assured
  423.                     not to overlap with any other data item within
  424.                     the storage of the specified size. The
  425.                     additional padding required is divided between
  426.                     each end of the specified symbol.
  427.  
  428.  
  429.                     5.3.2.3  _A_d_d_i_t_i_o_n_a_l _O_p_t_i_o_n_s _f_o_r _D_O_A_C_R_O_S_S _a_n_d _P_C_F
  430.                     _D_i_r_e_c_t_i_v_e_s   There are two additional options,
  431.                     NEST and AFFINTY, to !$PAR PDO and !$DOACROSS in
  432.                     MIPSpro 7.2 which can improve parallel
  433.                     performance on Origin2000 distributed shared
  434.                     memory architecture. Refer to the MIPSpro F90
  435.                     Commands and Directives Manual for more
  436.                     information.
  437.  
  438.  
  439.                     5.3.2.4  _D_a_t_a__D_i_s_t_r_i_b_u_t_i_o_n__D_i_r_e_c_t_i_v_e_s   The 7.2
  440.                     F90 compiler supports data distribution
  441.                     directives data distribution pragmas such as
  442.                     distribute, and distribute-reshape, which allow
  443.                     for explicit data parallelism to be exploited in
  444.                     a multi-processing environment. This is in
  445.                     addition to the multi- processing MP pragmas for
  446.                     which support has been provided since 7.1.  The
  447.                     programmer's guide describes the data
  448.                     distribution pragmas and their use on
  449.                     multiprocessing machines such as the Origin
  450.                     series.
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.                                                - 8 -
  465.  
  466.  
  467.  
  468.                     5.3.2.5  _I_n_t_e_r _P_r_o_c_e_d_u_r_a_l _A_n_a_l_y_s_i_s (_I_P_A)
  469.                     _O_p_t_i_m_i_z_a_t_i_o_n_s   The 7.2 compiler introduces a
  470.                     new flag group (-IPA: ...) that enables
  471.                     interprocedural optimizations. Another flag
  472.                     group (-INLINE: ...)  controls the application
  473.                     of subroutine inlining done within a file by the
  474.                     standalone inliner, or by the main inliner if
  475.                     -IPA options are enabled.
  476.  
  477.                     IPA can be used with optimization levels -O2 and
  478.                     -O3, and will perform cross-file constant
  479.                     propagation, cross-file inlining, and generate
  480.                     information used by other optimization passes.
  481.  
  482.                     If you use separate steps to compile and link
  483.                     (i.e. using -c when you compile and then linking
  484.                     the .o files produced with a separate cc(1),
  485.                     f90(1), or ld(1) command), then you need to use
  486.                     -IPA (with or without any individual options)
  487.                     for both the compile step and the link step.
  488.  
  489.                     For more information, please consult the ipa(5)
  490.                     man page.
  491.  
  492.  
  493.                     5.3.2.6  _N_e_w__-_O_P_T__c_o_n_t_r_o_l__g_r_o_u_p__o_p_t_i_o_n_s   The
  494.                     fast_complex, fast_trunc and  fast_nint controls
  495.                     have been added to the -OPT: ... control group.
  496.                     For more information, please consult the f90(1)
  497.                     man pages.
  498.  
  499.  
  500.                     5.3.2.7  _N_e_w__D_E_B_U_G__o_p_t_i_o_n   The -DEBUG option
  501.                     control group has been implemented.  -
  502.                     DEBUG:div_check inserts runtime checks for
  503.                     divide by zero. -DEBUG:trap_uninitialized (-
  504.                     trapuv) inserts checks for uninitialized
  505.                     variables. -DEBUG:subscript_check inserts checks
  506.                     for out of bounds subscripts.  For more
  507.                     information, please refer to DEBUG_group(5).
  508.  
  509.  
  510.  
  511.                     5.3.3  _l_i_b_f_o_r_t_r_a_n__l_i_b_r_a_r_y   The libfortran
  512.                     library consists of those internally generated
  513.                     library procedures made by the Fortran 90
  514.                     compiler as well as intrinsic procedures that
  515.                     users can invoke. All standard Fortran
  516.                     intrinsics are provided as well as a subset of
  517.                     Cray intrinsics which are extensions to the
  518.                     standard. The library also includes the I/O
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.                                                - 9 -
  531.  
  532.  
  533.  
  534.                     library currently being used on Cray platforms.
  535.  
  536.  
  537.                     5.3.4  _P_r_e_p_r_o_c_e_s_s_i_n_g__w_i_t_h__f_t_p_p   In previous
  538.                     releases, all files were preprocessed using cpp.
  539.                     For 7.2, files with the .F and .F90 suffix are
  540.                     preprocessed with the ftpp preprocessor, by
  541.                     default. Ftpp is a Fortran-aware version of the
  542.                     standard cpp preprocessor. For example, ftpp is
  543.                     aware of the constraints on the line length of
  544.                     Fortran source files, and understands comments
  545.                     and continuation lines. There are several
  546.                     options which can be used to control
  547.                     preprocessing for Fortran 90 files:
  548.  
  549.                     5.3.4.1  _-_f_t_p_p  Process all Fortran files with
  550.                     ftpp, regardless of suffix.
  551.  
  552.                     5.3.4.2  _-_c_p_p  Process all Fortran files with
  553.                     cpp, regarless of suffix
  554.  
  555.                     5.3.4.3  _-_m_a_c_r_o___e_x_p_a_n_d  With ftpp, expand
  556.                     preprocessor macros wherever they occur. By
  557.                     default, macro expansion only occurs in
  558.                     preprocessor directives.
  559.  
  560.  
  561.                     5.3.5  _A_s_s_i_g_n__C_o_m_m_a_n_d   The assign command
  562.                     provides the ability to specify I/O processing
  563.                     options for a file. Options include FFIO layer
  564.                     selection, data conversion properties, and
  565.                     buffer size.
  566.  
  567.  
  568.                     5.4  _E_x_p_l_a_i_n__C_o_m_m_a_n_d__a_n_d__M_e_s_s_a_g_e__S_y_s_t_e_m__L_i_b_r_a_r_y
  569.  
  570.  
  571.                     Provided as patchSG0002052, the explain command
  572.                     provides the interface to retrieve and and
  573.                     display messages during the compilation, loading
  574.                     and execution of of a user's program. Currently,
  575.                     the message system library contains only those
  576.                     messages for the front-end and the runtime I/O
  577.                     library. The explain command can only be used
  578.                     for messages coming from the message system
  579.                     library.
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.                                                - 10 -
  597.  
  598.  
  599.  
  600.                     5.5  _C_r_a_y__M_o_d_u_l_e_s
  601.  
  602.  
  603.                     Packaged as a separate image on the IRIX
  604.                     Development Foundation CD, Modules is an
  605.                     experimental environment which allows you to
  606.                     install and use the 7.2 compilers under a
  607.                     location other than the root directory (/).  For
  608.                     MIPSpro 7.2, only the compiler, dbx and
  609.                     SpeedShop images can be installed under this
  610.                     alternate location.  Other product images, such
  611.                     as the Insight books, license manager and
  612.                     WorkShop should not be installed in this
  613.                     alternate location. For more information about
  614.                     modules please refer to the chapter on modules
  615.                     in the IRIX Development Foundation Release
  616.                     Notes, the modules release notes, or man
  617.                     modules(1).
  618.  
  619.  
  620.  
  621.                     5.6  _N_e_w__A_u_t_o_m_a_t_i_c__P_a_r_a_l_l_e_l_i_z_a_t_i_o_n__O_p_t_i_o_n
  622.  
  623.  
  624.                     The MIPSpro Auto Parallelizing Option (SC4-APO-
  625.                     7.2) is a replacement product for the Power
  626.                     Fortran 90, Power Fortran 77 and Power C
  627.                     Analyzer products. It also works on C++
  628.                     programs.  When -pfa is specified on the command
  629.                     line, Fortran 77 or Fortran90 programs are
  630.                     automatically parallelized. When -pca is
  631.                     specified, C or C++ programs are automatically
  632.                     parallelized. The MIPSpro Automatic
  633.                     Parallelization Option only supports the 64-bit
  634.                     (-64) and new high performance 32-bit (-n32)
  635.                     ABI's. The old 32-bit ABI (-32) is not supported
  636.                     by this product.
  637.  
  638.  
  639.                     5.7  _F_o_r__M_o_r_e__I_n_f_o_r_m_a_t_i_o_n
  640.  
  641.  
  642.                     Please refer to the following manuals for more
  643.                     detailed descriptions of of the features
  644.                     mentioned in these release notes.
  645.  
  646.                        +o MIPSPro Fortran 90 Language Reference
  647.                          Manual (Volumes I-III)
  648.  
  649.                        +o MIPSpro Fortran 90 Commands and Directives
  650.                          Manual.
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.                                                - 11 -
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.